Data management systems of real-time systems are intended to offer their user systems rapid and reliable (consistent) on-line management of various data generations.
The invention is based on the object of specifying a data management system which meets the above-mentioned requirements.
In general terms the present invention is a data management system of a real-time system. A transaction management system controls transactions between users and the data management system, a transaction being a sequence of accesses to logically interdependent data. An access data structure is inserted in the course of a transaction by the transaction management system into the access path of a data object to be modified. The data structure has a separating filter with a first output to the old image of the data object and a second output to the new image of the data object. A generations management system manages the new data generation produced in the course of a transaction after the ending of the transaction on the basis of the access data structures (TGSE) inserted by the transaction.
The functional coupling of the transaction control with the generations management via a shared access, data structure to the data objects of the data management system has the effect that the management of various data generations is carried out on the basis of the same data objects as are also used by the transaction management system. This allows rapid and reliable on-line management.
One embodiment of the present invention has a management data structure, with which the transaction management system combines the access data structures inserted in the course of a transaction by linking them together to form a data generation with a specific generation identifier. The generation identifier subsequently is transferred to the generations management system for management of the data generation combined in this way. By this embodiment, the new data objects generated in the course of a transaction are combined to form a data generation and are consequently uniquely identifiable according to the sequence in which they are generated on the basis of a GEN_ID. This makes it possible for the generations management system for example to delete a no longer required data generation as a whole, i.e. by a single delete instruction.
In another embodiment the generations management system is a reading management system, which controls logically associated read accesses, so-called reading sequences. The reading management system uses the generation identifier transferred to the generations management system in order to carry out a consistent reading sequence access. This embodiment allows reading sequences to be carried out in parallel with a transaction.
In a further embodiment the access data structure has a barring field, with which a transaction can reserve exclusively for itself access to a data object behind it by storing a transaction identifier. By this embodiment, access by transactions parallel to a transaction to the same data object is prevented.
In yet another embodiment the access data structures are dynamically assigned to the data objects. The dynamic assignment allows the handling of data objects of various granularity. This means that a TGSE can be assigned both to a data object of smallest granularity (data element) and to a data object of coarser granularity (data group). The said dynamic assignability is achieved by the TGSEs being generated either dynamically as required, or taken from a common pool.
In a further embodiment the data layout of an access data structure is designed such that the first output of the separating filter of an access data structure can also point ot an older access data structure. By this embodiment, the TGSEs can be linked together by the transaction management system according to the sequence in which they were created to form a generation tree, which is subsequently managed by the generations management system. This embodiment presupposes the dynamic assignment of the TGSEs.